package com.yitiao.designmodel.struct.proxy.statics;

import com.yitiao.designmodel.struct.proxy.LiLive;
import com.yitiao.designmodel.struct.proxy.Live;
import lombok.AllArgsConstructor;
import lombok.Data;

/**
 * 代理类和被代理类实现同一抽象接口
 */
@Data
@AllArgsConstructor
public class LiLiveProxy implements Live {
    // 那如何知道代理谁呢？这里不用继承，而是组合的方式
    private LiLive liLive;

    @Override
    public void play() {
        // 此处增强功能 即 装饰器模式
        System.out.println("代理");
        liLive.play();
    }

    @Override
    public void doo() {

    }
}
